<?php
class Db
{
    private $host;//地址
    private $dbname;//库名
    private $name;//用户名
    private $pwd;//密码
    private $dbh;
    public function __construct($host,$dbname,$name,$pwd)
    {
        $this->host=$host;
        $this->dbname=$dbname;
        $this->name=$name;
        $this->pwd=$pwd;
        $this->dbh = new PDO("mysql:host=$this->host;dbname=$this->dbname",$this->name,$this->pwd);//连接Pdo
        $this->dbh->exec('set names utf8');
    }
    public function insertOne($table,$arr)//添加一条
    {
       if(empty($table)){
           return false;//判断表名是否为空，如果为空返回false，否则继续运行
       }
        if(empty($arr)){
            return false;//判断添加内容是否为空，如果为空返回false，否则继续运行
        }
        $k='';
        $v='';
        foreach($arr as $key => $value){
            $k .= "`$key`,";
            $v .= "'$value',";
        }
        $k=substr($k,0,-1);
        $v=substr($v,0,-1);
        $sql="insert into $table ($k) value($v)";//书写sql语句
        $res=$this->dbh->exec($sql);//执行sql语句
        return $res;//返回状态
    }
    public function updataOne($table,$arr,$where)
    {
        if(empty($table)){
            return false;//判断表名是否为空，如果为空返回false，否则继续运行
        }
        if(empty($arr)){
            return false;//判断修改内容是否为空，如果为空返回false，否则继续运行
        }
        if($where==''){
            return false;
        }
        $k='';
        foreach($arr as $key => $value){
            $k .= "`$key`='$value',";
        }
        $k=substr($k,0,-1);
        $sql="update $table set $k where $where";//书写sql语句
        $res=$this->dbh->exec($sql);//执行sql语句
        return $res;//返回状态
    }
    public function delOne($table,$where)
    {
        if(empty($table)){
            return false;//判断表名是否为空，如果为空返回false，否则继续运行
        }
        if($where==''){
            return false;//判断条件是否为空，如果为空返回false，否则继续运行
        }
        $sql="delete from $table where $where";//书写sql语句
        $res=$this->dbh->exec($sql);//执行sql语句
        return $res;//返回状态
    }
    public function showAll($table,$where)
    {
        if(empty($table)){
            return false;//判断表名是否为空，如果为空返回false，否则继续运行
        }
        if($where==''){
            return false;//判断条件是否为空，如果为空返回false，否则继续运行
        }
        $sql="select * from $table where $where";//书写sql语句
        $res=$this->dbh->query($sql);//执行sql语句
        $data=$res->fetchAll(2);
        return $data;//返回数据
    }
    public function showOne($table,$where)
    {
        if(empty($table)){
            return false;//判断表名是否为空，如果为空返回false，否则继续运行
        }
        if($where==''){
            return false;//判断条件是否为空，如果为空返回false，否则继续运行
        }
        $sql="select * from $table where $where";//书写sql语句
        $res=$this->dbh->query($sql);//执行sql语句
        $data=$res->fetch(2);
        return $data;//返回数据
    }
}
/*
 $db=new Db('127.0.0.1','week','root','root');
$arr=['shopname'=>'联想','photo'=>'C:\Users\Dell\Pictures\Saved Pictures\5b7ab9e4870c91c8d81d7f235839cf83.png','count'=>'123','price'=>'12306'];
//$date=$db->insertOne('shop',$arr);//添加方法
//$date=$db->delOne('shop','id=2');//删除方法
//$date=$db->updataOne('shop',$arr,'id=1');//修改方法
$date=$db->showOne('shop',"id=3");//查询单条方法
//$date=$db->showAll('shop',"shopname='联想'");//查询全部方法
print_r($date);
*/

